package com.eedi.org.healthinfo.controller.vo;

import com.eedi.framework.common.enums.CommonStatusEnum;
import com.eedi.framework.common.validation.AddGroup;
import com.eedi.framework.common.validation.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;


@Schema(description = "管理后台 - 健康资讯新增/修改 Request VO")
@Data
public class OrgHealthInfoSaveReqVO {

    /**
     * 健康资讯ID
     */
    @Schema(description = "健康资讯ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17006")
    @NotEmpty(message = "健康资讯ID不能为空", groups = UpdateGroup.class)
    private String orgHealthInfoId;

    /**
     * 健康资讯分类ID
     */
    @Schema(description = "健康资讯分类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15990")
    @NotEmpty(message = "健康资讯分类ID不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String orgHealthInfoGroupId;

    /**
     * 标题
     */
    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "标题不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String orgTitle;

    /**
     * 图片
     */
    @Schema(description = "图片", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "图片不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String orgPicture;

    /**
     * 内容
     */
    @Schema(description = "内容富文本")
    @NotEmpty(message = "内容不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String orgContentText;

    @Schema(description = "内容url", example = "https://www.iocoder.cn")
    private String orgContentUrl;

    /**
     * 是否首页推荐： 0 不推荐 1 推荐
     */
    @Schema(description = "是否首页推荐： 0 不推荐 1 推荐", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否首页推荐： 0 不推荐 1 推荐不能为空" , groups = {AddGroup.class, UpdateGroup.class})
    private CommonStatusEnum orgHomeRecommend;

    /**
     * 是否栏目推荐： 0不推荐 1推荐
     */
    @Schema(description = "是否栏目推荐： 0不推荐 1推荐", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否栏目推荐： 0不推荐 1推荐不能为空" , groups = {AddGroup.class, UpdateGroup.class})
    private CommonStatusEnum orgColumnRecommend;

    /**
     * 是否发布： 0不发布 1发布
     */
    @Schema(description = "是否发布： 0不发布 1发布", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "是否发布： 0不发布 1发布不能为空" , groups = {AddGroup.class, UpdateGroup.class})
    private CommonStatusEnum orgPublishStatus;

    @Schema(description = "浏览量", requiredMode = Schema.RequiredMode.REQUIRED, example = "31822")
    private Integer orgPageViewCount;

}
